package com.gwc.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(
        urlPatterns = {"/httpServletRequestRedirect"}
)
public class HttpServletRequestRedirect extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /*
        * 1、重定向是通过HttpServletResponse对象实现的
        * 2、响应重定向是在服务端提示下的，客户端行为
        * 3、客户端的地址栏是变化的
        * 4、客户端至少发送了两次请求，客户端产生了多次请求
        * 5、请求产生了多次 后端就会有多个request对象，此时请求中的参数不能继续自动化传递
        * 6、目标资源可以是静态资源,但不可以是WEB-INF的资源，其本质是客户端要访问WEB-INF下的资源
        * 7、目标资源可以是外部资源
        * 重点提醒，同样能够实现页面跳转，优先使用响应重定向
        * */
        System.out.println("httpServletRequestRedirect执行了");

        // 响应重定向-动态资源
//        resp.sendRedirect("httpServletRequestForwardA");
        // 响应重定向-普通静态资源
//        resp.sendRedirect("a.html");
        // 响应重定向-外部资源
        resp.sendRedirect("http://www.baidu.com");

    }
}
